[Java] Add linux-x64 in-process CI job to Java SDK workflow - #2241
Conversation
edburns
left a comment
There was a problem hiding this comment.
@copilot Your work cycle completed but the PR has zero file changes — it appears only the "Initial plan" commit was pushed.
Required work
Please implement the actual deliverable from issue #2151:
- Modify
.github/workflows/java-sdk-tests.ymlto add a newjava-sdk-inprocessjob (a separate job, NOT a matrix entry). - The new job must:
- Run on
ubuntu-latest - Set up JDK (same version as existing
java-sdkjob) - Set up Node.js (same version as existing job, needed for
npm packand replay proxy) - Run
mvn clean verify -Pinprocessfrom thejava/directory - Use the same caching, artifact upload, and failure reporting patterns as the existing job
- Run on
- The existing
java-sdkjob must remain completely unchanged.
Please re-read the full plan in 1917-java-embed-rust-cli-runtime-remove-before-merge/1917-embed-cli-runtime-ignorance-reduction-plan.md on the base branch, especially sections 3.11, 3.12, and 4.9.
Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
edburns
left a comment
There was a problem hiding this comment.
@copilot The java-sdk-inprocess job is failing because many existing tests set CopilotClientOptions.Environment which throws IllegalArgumentException under InProcess transport. This is expected at this stage — the test code has not been fully adapted yet.
Fix required
Add continue-on-error: true to the java-sdk-inprocess job so it does not block the "Java required" aggregator check. The InProcess tests are informational at this stage.
java-sdk-inprocess:
name: "Java SDK InProcess Tests"
if: github.event.repository.fork == false
runs-on: ubuntu-latest
continue-on-error: trueDo NOT modify the existing java-sdk job. Only add continue-on-error: true to the java-sdk-inprocess job.
edburns
left a comment
There was a problem hiding this comment.
@copilot The CI "Java required" aggregator is failing because the java-sdk-inprocess job fails (pre-existing test incompatibility with InProcess transport).
You MUST add exactly one line to fix this. In .github/workflows/java-sdk-tests.yml, add continue-on-error: true to the java-sdk-inprocess job definition, immediately after the runs-on: ubuntu-latest line:
java-sdk-inprocess:
name: "Java SDK InProcess Tests"
if: github.event.repository.fork == false
runs-on: ubuntu-latest
continue-on-error: true
defaults:
run:
shell: bash
working-directory: ./javaThis single addition will make the InProcess job informational (non-blocking) so the aggregator passes. Push this change now.
The InProcess tests fail because many test classes set CopilotClientOptions.Environment which is incompatible with InProcess transport at this stage. Mark the job as informational so it does not block the Java required aggregator. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
edburns
left a comment
There was a problem hiding this comment.
All issues addressed. continue-on-error added, CI aggregator passes.
There was a problem hiding this comment.
Pull request overview
Adds Linux x64 CI coverage for Java’s in-process transport.
Changes:
- Adds an Ubuntu-only
java-sdk-inprocessjob. - Runs the full Maven reactor with the in-process profile.
- Reuses Java/Node setup and test-report artifacts.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/java-sdk-tests.yml |
Adds the Java in-process CI job. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Balanced
The in-process test job should gate CI like any other required check. Removing continue-on-error so failures are reported as real failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Many E2E tests set CopilotClientOptions.Environment which is rejected by RuntimeConnection.forInProcess(). The in-process job is intentionally informational until those tests are adapted. Restoring continue-on-error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
150043d
into
edburns/1917-java-embed-rust-cli-runtime-dd-3039924-agentic-run-02
* Initial plan * ci(java): add linux in-process Java SDK workflow job Co-authored-by: edburns <75821+edburns@users.noreply.github.com> * ci: add continue-on-error to java-sdk-inprocess job The InProcess tests fail because many test classes set CopilotClientOptions.Environment which is incompatible with InProcess transport at this stage. Mark the job as informational so it does not block the Java required aggregator. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: remove continue-on-error from java-sdk-inprocess job The in-process test job should gate CI like any other required check. Removing continue-on-error so failures are reported as real failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: restore continue-on-error for java-sdk-inprocess job Many E2E tests set CopilotClientOptions.Environment which is rejected by RuntimeConnection.forInProcess(). The in-process job is intentionally informational until those tests are adapted. Restoring continue-on-error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: edburns <75821+edburns@users.noreply.github.com> Co-authored-by: Ed Burns <edburns@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This updates the Java SDK CI workflow to run the full Java E2E suite under both transports by adding a dedicated in-process job on Linux x64, while leaving the existing subprocess job unchanged.
Workflow update: new in-process CI job
java-sdk-inprocessjob in.github/workflows/java-sdk-tests.ymlubuntu-latestonly (hard-scoped tolinux-x64)mvn clean verify -Pinprocessfromjava/Parity with existing Java CI patterns
copilot-nativepackaging (npm pack) and Java E2E replay proxy requirementsScope guardrails preserved
java-sdksubprocess job is not modified